package com.lynn.lib_base.http

import io.reactivex.rxjava3.core.Observer
import io.reactivex.rxjava3.disposables.Disposable


/**
 * @description: 自定义Observer
 * @author: bailing
 * @datetime: 2025/5/27 13:31
 **/
abstract class BaseObserver<T : Any> : Observer<T> {

    /**
     * 开始
     */
    override fun onSubscribe(d: Disposable) {
    }

    /**
     * 发送数据
     */
    override fun onNext(t: T) {
        onSuccess(t)
    }

    /**
     * 异常
     */
    override fun onError(e: Throwable) {
        onFailure(e)
    }

    /**
     * 完成
     */
    override fun onComplete() {
    }

    // 成功
    abstract fun onSuccess(t: T)

    //失败
    abstract fun onFailure(e: Throwable)


}